const app = getApp();
const URL = app.globalData.URL;
//const URL = URL+'';
Page({
  data: {
    name:app.globalData.name,
    idcard:app.globalData.idCard,
    phone:app.globalData.mobile,
    smrz:app.globalData.smrz,
    array: ['美团', '饿了么', '支付宝', '微信','百度','其他快递'],
    arrIndex: 0,
    index: 0
  },
  onReady(){
    ///app-api/dict-data/getListByType
    my.request({
      url: `${URL}/app-api/dict-data/getListByType`,
      method: '',
      headers:{"tenant-id":"1",
      'content-type': 'application/x-www-form-urlencoded'},
      data: {type:'pspt'},
      success: (result) => {
        console.log(result.data.data);
        var dict = result.data.data;
        var pspt = [];
        for(let i = 0;i<dict.length;i++){
          pspt.push(dict[i].label);
        }
        this.setData({array:pspt});
        console.log(this.data.array);
      },
      fail: () => {
        
      }
    });

  },
  onLoad(){
    console.log("姓名"+app.globalData.name);
    this.setData(
      {
        phone:app.globalData.mobile,
        name:app.globalData.name,
        idCard:app.globalData.idCard,
      }
    );
    this.setData({smrz:app.globalData.smrz});
    my.httpRequest({
      url: `${URL}/app-api/chl/app/getAlipayUserSeal`,
      data: {
        phone:app.globalData.mobile,
      },
      headers:{"tenant-id":"1",
      'content-type': 'application/x-www-form-urlencoded'},
      success: (res) => {
        if (res.data.data) {
          console.log(res.data.data);
          var smrz = res.data.data.realNameStatus;
          if(smrz=="true"){
            this.setData({smrz:true});
            app.globalData.smrz = true;
            console.log(app.globalData.smrz);

            this.setData(
              {
                phone:app.globalData.mobile,
                name:res.data.data.userName,
                idCard:res.data.data.idCard,
              }
            );

          }else{
            this.setData({smrz:false});
            app.globalData.smrz = false;
          }
        }else{
          this.setData({smrz:false});
          app.globalData.smrz = false;
        }
      },
      fail: (err) => {
        my.alert({'content':'认证失败'});
        this.setData({smrz:false});
        app.globalData.smrz = false;
      }
    });
    
  },
  async onSubmit(e) {
    // my.alert({
    //   content: `数据：${JSON.stringify(e.detail.value)}`,
    // });
    var name = e.detail.value.name;
    var idCard = e.detail.value.idcard;
    var sspt = this.data.array[this.data.index];
    //console.log("所属平台----"+sspt);
    if(name=='' || idCard==''){
      my.alert({
        content: `请输入名字和身份证号`,
      });
      return;
    }
    if(!(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(idCard))){
      my.alert({
        content: `请输入准确的身份证号`,
      });
      return;
    }
    // if(!this.isCardId(idCard)){
    //   my.alert({
    //     content: `身份证号校验失败`,
    //   });
    //   return;
    // }
    const auth = await this.getAuthCode(['auth_user',`id_verify`]);
    var authCode = auth.authCode;

    my.httpRequest({
      url: `${URL}/app-api/chl/app/alipayUserSeal`,
      data: {
        authCode: authCode,
        name:name,
        idCard:idCard,
        userId:app.globalData.user_id,
        phone:app.globalData.mobile,
        sspt:sspt
      },
      headers:{"tenant-id":"1",
      'content-type': 'application/x-www-form-urlencoded'},
      success: (res) => {
        if (res.data.data) {
          console.log(res.data.data);
          my.alert({'content':'认证成功'});
          this.setData({smrz:true});
          this.setData(
              {
                phone:app.globalData.mobile,
                name:res.data.data.userName,
                idCard:res.data.data.idCard,
              }
            );
          app.globalData.smrz = true;
          if(app.globalData.smrz && app.globalData.isLogin){
            my.reLaunch({
              url: '/pages/index/index'
            })
          }
        }else{
          my.alert({'content':'认证失败'});
          this.data.smrz = false;
          app.globalData.smrz = false;
        }
      },
      fail: (err) => {
        my.alert({'content':'认证失败'});
        this.data.smrz = false;
        app.globalData.smrz = false;
      }
    });

    //my.request();
  },
  onReset() {
    my.alert({
      content: `数据重置`,
    });
  },
  bindPickerChange(e) {
    console.log('picker发送选择改变1，携带值为', e.detail.value);
    this.setData({
      index: e.detail.value,
    });
  },
  bindObjPickerChange(e) {
    console.log('picker发送选择改变2，携带值为', e.detail.value);
    this.setData({
      arrIndex: e.detail.value,
    });
  },
  getAuthCode(scope) {
    return new Promise((resolve, reject) => {
      my.getAuthCode({
        scopes: scope,
        success: (auth) => {
          resolve(auth);
        },
        fail: (error) => {
          reject({
            message: '用户取消授权',
            error
          });
        }
      });
    });
  },
  isCardId(sId){
    if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(sId)) {
      console.log('你输入的身份证长度或格式错误')
      return false
    }
    //身份证城市
    var aCity = {
      11: "北京",
      12: "天津",
      13: "河北",
      14: "山西",
      15: "内蒙古",
      21: "辽宁",
      22: "吉林",
      23: "黑龙江",
      31: "上海",
      32: "江苏",
      33: "浙江",
      34: "安徽",
      35: "福建",
      36: "江西",
      37: "山东",
      41: "河南",
      42: "湖北",
      43: "湖南",
      44: "广东",
      45: "广西",
      46: "海南",
      50: "重庆",
      51: "四川",
      52: "贵州",
      53: "云南",
      54: "西藏",
      61: "陕西",
      62: "甘肃",
      63: "青海",
      64: "宁夏",
      65: "新疆",
      71: "台湾",
      81: "香港",
      82: "澳门",
      91: "国外"
    };
    if (!aCity[parseInt(sId.substr(0, 2))]) {
      console.log('你的身份证地区非法')
      return false
    }
    
    // 出生日期验证
    var sBirthday = (sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2)))
      .replace(/-/g, "/"),
      d = new Date(sBirthday)
    if (sBirthday != (d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate())) {
      console.log('身份证上的出生日期非法')
      return false
    }
    
    // 身份证号码校验
    var sum = 0,
      weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],
      codes = "10X98765432"
    for (var i = 0; i < sId.length - 1; i++) {
      sum += sId[i] * weights[i];
    }
    var last = codes[sum % 11]; //计算出来的最后一位身份证号码
    if (sId[sId.length - 1] != last) {
      console.log('你输入的身份证号非法')
      return false
    }
    console.log('身份证验证成功');
  }
});
